FB_smoother <-
function(x, s, mu, inds){
	#This is a vector valued function, as opposed to the
	#scalar valued function from the article.  This 
	#function has been generalized to allow for n>1
	phi <- vector()
	for(i in 1:length(inds)){
		phi[inds[[i]]] <- (1 + mu[i])*(x[inds[[i]]] + s[inds[[i]]]) - jordan_sqrt(jordan_square(x[inds[[i]]] + mu[i]*s[inds[[i]]]) + jordan_square(mu[i]*x[inds[[i]]] + s[inds[[i]]]) + 2*(mu[i]^2)*jordan_identity(length(inds[[i]])))
	}
	return(phi)

}

